694 research outputs found

    Challenges to Trading-Off Performance and Privacy of Component-Based Systems

    Get PDF

    Proofs for the Automated Inversion of Attribute Mappings in Bidirectional Model Transformations

    Get PDF
    Bidirectional model transformations create or update a target model according to a base model and vice versa using a single transformation specification for both directions. Triple graph grammars, for example, define which model elements shall exist and how they should reference each other without repeating information for both directions. They can also copy values of simple-typed attributes, such as enumerations, strings, or numbers. But currently only the identity operator can be easily specified in bidirectional transformation languages: Other attribute mappings either have to be specified for both directions or with a special constraint language. In this technical report, we present proofs for an approach that inverts attribute transformation expressions that can be written in a simple Java-like syntax by extending the original paper [KR16]. We also present an initial library of 30 operator-specific inverters that result in well-behaved view-update round-trips (GetPut) for all changes. For changes for which well-behaved update-view round-trips (PutGet) are impossible, we chose inversions that sustain as much information as possible. We realized our inversion approach for a prototypical transformation language that generates Java code. An evaluation using all 103 transformations of the ATL zoo shows that 26% of the LLOC of all non-trivial attribute transformation expressions could be inverted with our initial inverters. This may indicate that many transformation tasks could involve non-trivial attribute transformations that can easily be specified and inverted with our approach

    Automated Inversion of Attribute Mappings in Bidirectional Model Transformations

    Get PDF
    Bidirectional model transformations create or update a target model according to a base model and vice versa using a single transformation specification for both directions. Triple graph grammars, for example, define which model elements shall exist and how they should reference each other without repeating information for both directions. They can also copy values of simple-typed attributes, such as enumerations, strings, or numbers. But currently only the identity operator can be easily specified in bidirectional transformation languages: Other attribute mappings either have to be specified for both directions or with a special constraint language. In this paper, we present an approach that inverts attribute transformation expressions that can be written in a simple Java-like syntax. We also present an initial library of 30 operator-specific inverters that result in well-behaved view-update round-trips (GetPut) for all changes. For changes for which well-behaved update-view round-trips (PutGet) are impossible, we chose inversions that sustain as much information as possible. We realized our inversion approach for a prototypical transformation language that generates Java code. An evaluation using all 103 transformations of the ATL zoo shows that 26% of the LLOC of all non-trivial attribute transformation expressions could be inverted with our initial inverters. This may indicate that many transformation tasks could involve non-trivial attribute transformations that can easily be specified and inverted with our approach

    Realizing Change-Driven Consistency for Component Code, Architectural Models, and Contracts in Vitruvius

    Get PDF
    During the development of component-based software systems, it is often impractical or even impossible to include all development information into the source code. Instead, specialized languages are used to describe components and systems on different levels of abstraction or from different viewpoints: Component-based architecture models and contracts, for example, can be used to describe the system on a high level of abstraction, and to formally specify component constraints. Since models, contracts, and code contain redundant information, inconsistencies can occur if they are modified independently. Keeping this information consistent manually can require considerable effort, and can lead to costly errors, for example, when security-relevant components are verified against inconsistent contracts. In this technical report, we present details on realizing an approach for keeping component-based architecture models and contracts specified in the Java Modeling Language (JML) consistent with Java source code. We use change-driven incremental transformations and the Vitruvius framework to automate the consistency preservation where this is possible. Using two case studies, we demonstrate how to detect and propagate changes and refactoring operations to keep models and contracts consistent with the source code

    Neutron Stars as Type-I Superconductors

    Full text link
    In a recent paper by Link, it was pointed out that the standard picture of the neutron star core composed of a mixture of a neutron superfluid and a proton type-II superconductor is inconsistent with observations of a long period precession in isolated pulsars. In the following we will show that an appropriate treatment of the interacting two-component superfluid (made of neutron and proton Cooper pairs), when the structure of proton vortices is strongly modified, may dramatically change the standard picture, resulting in a type-I superconductor. In this case the magnetic field is expelled from the superconducting regions of the neutron star leading to the formation of the intermediate state when alternating domains of superconducting matter and normal matter coexist.Comment: 4 page

    Inorganic pyrophosphatase in uncultivable hemotrophic mycoplasmas: identification and properties of the enzyme from Mycoplasma suis

    Get PDF
    BACKGROUND: Mycoplasma suis belongs to a group of highly specialized hemotrophic bacteria that attach to the surface of host erythrocytes. Hemotrophic mycoplasmas are uncultivable and the genomes are not sequenced so far. Therefore, there is a need for the clarification of essential metabolic pathways which could be crucial barriers for the establishment of an in vitro cultivation system for these veterinary significant bacteria.Inorganic pyrophosphatases (PPase) are important enzymes that catalyze the hydrolysis of inorganic pyrophosphate PPi to inorganic phosphate Pi. PPases are essential and ubiquitous metal-dependent enzymes providing a thermodynamic pull for many biosynthetic reactions. Here, we describe the identification, recombinant production and characterization of the soluble (s)PPase of Mycoplasma suis. RESULTS: Screening of genomic M. suis libraries was used to identify a gene encoding the M. suis inorganic pyrophosphatase (sPPase). The M. suis sPPase consists of 164 amino acids with a molecular mass of 20 kDa. The highest identity of 63.7% was found to the M. penetrans sPPase. The typical 13 active site residues as well as the cation binding signature could be also identified in the M. suis sPPase. The activity of the M. suis enzyme was strongly dependent on Mg2+ and significantly lower in the presence of Mn2+ and Zn2+. Addition of Ca2+ and EDTA inhibited the M. suis sPPase activity. These characteristics confirmed the affiliation of the M. suis PPase to family I soluble PPases. The highest activity was determined at pH 9.0. In M. suis the sPPase builds tetramers of 80 kDa which were detected by convalescent sera from experimentally M. suis infected pigs. CONCLUSION: The identification and characterization of the sPPase of M. suis is an additional step towards the clarification of the metabolism of hemotrophic mycoplasmas and, thus, important for the establishment of an in vitro cultivation system. As an antigenic and conserved protein the M. suis sPPase could in future be further analyzed as a diagnostic antigen

    Change-Driven Consistency for Component Code, Architectural Models, and Contracts

    Get PDF
    During the development of component-based software systems, it is often impractical or even impossible to include all development information into the source code. Instead, specialized languages are used to describe components and systems on different levels of abstraction or from different viewpoints: Component-based architecture models and contracts, for example, can be used to describe the system on a high level of abstraction, and to formally specify component constraints. Since models, contracts, and code contain redundant information, inconsistencies can occur if they are modified independently. Keeping this information consistent manually can require considerable effort, and can lead to costly errors, for example, when security-relevant components are verified against inconsistent contracts. In this technical report, we present details on realizing an approach for keeping component-based architecture models and contracts specified in the Java Modeling Language (JML) consistent with Java source code. We use change-driven incremental transformations and the Vitruvius framework to automate the consistency preservation where this is possible. Using two case studies, we demonstrate how to detect and propagate changes and refactoring operations to keep models and contracts consistent with the source code
    corecore